interface IOption {
  value: number | string;
  label: string;
}

// 审批状态枚举
export const RESERVATION_STATUS = {
  TIME: 0,
  AUDIT_PENDING: 1,
  EXEC_PENDING: 2,
  EXECUTING: 3,
  FINISH: 4,
};

// 审批顺序枚举
export const RESERVATION_ORDER_STATUS = {
  DESC: 0,
  ASC: 1,
};

// 审批顺序选项
export const RESERVATION_ORDER_STATUS_OPTIONS: Array<IOption> = [
  { value: RESERVATION_ORDER_STATUS.DESC, label: "升序" },
  { value: RESERVATION_ORDER_STATUS.ASC, label: "降序" },
];

// 审批类型枚举
export const RESERVATION_TYPES = {
  MAIN: 0,
  SUB: 1,
  SUPPLEMENT: 2,
};

export const RESERVATION_TYPE_OPTIONS: Array<IOption> = [
  { value: RESERVATION_TYPES.MAIN, label: "已审批" },
  { value: RESERVATION_TYPES.SUB, label: "待审批" },
  { value: RESERVATION_TYPES.SUPPLEMENT, label: "已拒绝" },
];

// 预约审批列表状态选项
export const RESERVATION_STATUS_OPTIONS = [
  { label: '全部', value: '' },
  { label: '已审批', value: 'approved' },
  { label: '待审批', value: 'pending' },
  { label: '已拒绝', value: 'rejected' },
];

// 排序依据
export const RESERVATION_SORT_BY_OPTIONS = [
  { label: '学号', value: 'studentId' },
  { label: '楼层', value: 'floorNumber' },
  { label: '姓名', value: 'name' },
  { label: '审批状态', value: 'status' },
];

// 排序方式
export const RESERVATION_SORT_ORDER_OPTIONS = [
  { label: '升序', value: 'ASC' },
  { label: '降序', value: 'DESC' },
];
